To search for a single character that appears in the buffer as, for example, ‘\237’, you can type C-s C-q 2 3 7. Searching for all unprintable characters is best done with a regular expression (regexp) search. The easiest regexp to use for the unprintable chars is the complement of the regexp for the printable chars.
To type these special characters in an interactive argument to
isearch-forward-regexp or
re-search-forward, you need to use C-q.
(‘\t’,
‘\n’,
‘\r’, and
‘\f’ stand
respectively for <TAB>, <LFD>, <RET>, and
C-l.) So, to search for unprintable characters using
re-search-forward:
M-x re-search-forward <RET> [^ <TAB> C-q <LFD> C-q <RET> C-q C-l <SPC> -~] <RET>
Using isearch-forward-regexp:
C-M-s [^ <TAB> <LFD> C-q <RET> C-q C-l <SPC> -~]
To delete all unprintable characters, simply use replace-regexp:
M-x replace-regexp <RET> [^ <TAB> C-q <LFD> C-q <RET> C-q C-l <SPC> -~] <RET> <RET>
Replacing is similar to the above. To replace all unprintable characters with a colon, use:
M-x replace-regexp <RET> [^ <TAB> C-q <LFD> C-q <RET> C-q C-l <SPC> -~] <RET> : <RET>